An orchestration workflow defines a logical flow of activities or tasks from a start event to an end event to accomplish a specific service. Orchestration workflows managed by orchestration engines such as VMware™ vCenter Orchestrator (vCO), which is available from VMware Inc. of Palo Alto, Calif., and Microsoft Windows™ Workflow Foundation, which is available from Microsoft Corporation of Redmond, Wash., include a starting point, an end point and function blocks in between. Each function block has inputs, outputs and coding logic. In addition, information is passed among the function blocks. The orchestration engine can import a workflow having a pre-defined format and export an existing workflow to a file having the same pre-defined format. The file can then be saved to backup storage or checked into a source control system. Orchestration engines typically perform their own version control. Different versions of a workflow can be imported, exported or reverted. The pre-defined file format can be different among different orchestration engines.
Projects that involve collaboration between users of different orchestration engines can involve different versions of a same workflow that are presented in different formats. Current file version and format management deficiencies present challenges to efficient development of projects of this type. For example, to determine if a change has been made to a workflow, a developer has to check the workflow file out of the source control system, import it into the orchestration workflow engine, and read the code in each function block such that a comparison can be made. Moreover, if a project includes multiple orchestration engines and changes are required in different workflows there is no mechanism to review all of the changes in a common place. Additionally, there is nothing to ensure that a change to a workflow version will be enforced if the developer forgets to change the version number. Thus, current approaches do not provide the capability to readily manage the project version and format differences that can be involved in a collaborative environment.